package com.yizhubao.app.base;


import com.yizhubao.app.utils.net.LifeCycleEvent;

import io.reactivex.subjects.PublishSubject;

/**
 * @author PACY
 * 创建时间 18/7/20 14:42.
 * 邮箱 pengwwe457621023@qq.com
 * 类描述 提供基础方法的view
 */

public interface BaseView {

    /**
     * 请求失败提示
     */
    void showFailure(String msg);


    void showFinished();


    /**
     * 每次网络请求，P层都需要V层提供其生命周期发射者（Activity基类中提到的PublishSubject）。
     * 如果每次都将该发射者通作为P层方法的参数传入，会显得比较繁琐。
     * 那么我们可以在IView基类中加入一个抽象方法getLifeSubject()，然后在Activity/Fragment基类中加入该方法的实现（前面Activity基类中已实现），
     * 这样，P层就可以通过IVew.getLifeSubject()来直接获取V层的生命周期发射者了
     */
    PublishSubject<LifeCycleEvent> getLifeSubject();
}
